package com.ship.dispatch.service;

import com.ship.common.business.service.BaseService;
import com.ship.dispatch.bean.SpPortRouteDistance;
import com.ship.dispatch.model.Vo.ShipLoadDaysAndRouteVo;
import com.ship.dispatch.model.Vo.ShipRouteSearchVo;

import java.math.BigDecimal;
import java.util.List;

/**
* @author 91516
* @description 针对表【sp_port_route_distance(港口航线规划距离信息)】的数据库操作Service
* @createDate 2024-07-10 17:44:55
*/
public interface SpPortRouteDistanceService extends BaseService<SpPortRouteDistance> {
    /**
     * 获取航线信息
     * @param loadingSort
     * @param unloadSort
     * @param speed
     * @param passStrait
     * @param passArea
     * @return
     */
    ShipLoadDaysAndRouteVo getCommonLoadDay(List<Long> loadingSort, List<Long> unloadSort,BigDecimal speed,String passStrait,String passArea);

    /**
     * 港口信息更新
     */
    void portRouteRelationUpdate();

    /**
     * 获取航线计算信息
     * @param shipSpeed
     * @param expectedUnloadThirdId
     * @param expectedLoadThirdId
     * @return
     */
    ShipRouteSearchVo getShipRouteDay(BigDecimal shipSpeed, Integer expectedUnloadThirdId, Integer expectedLoadThirdId,String passStrait,String passArea);

    /**
     * 获取航线计算信息
     * @param shipSpeed
     * @param expectedUnloadThirdId
     * @param expectedLoadThirdId
     * @return
     */
    ShipRouteSearchVo getShipRouteDayByThirdId(BigDecimal shipSpeed, Integer expectedUnloadThirdId, Integer expectedLoadThirdId,String passStrait,String passArea);
}
